import router from './index'
import store from '../store/index'
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'

//引用了一个插件，Nprogress，就是下图的蓝色小进度条。
NProgress.configure({ 
    easing: 'ease', // 动画方式
    speed: 500, // 递增进度条的速度
    showSpinner: false, // 是否显示加载ico
    trickleSpeed: 200, // 自动递增间隔
    minimum: 0.3 // 初始化时的最小百分比
 })

//所有的路由在真正被访问到之前（解析渲染对应组件页面前），都会先经过全局前置守卫
//只有全局前置守卫被放行才会到达对应的页面

//全局前置导航守卫
//to： 到哪里去，到哪里去的完整路由信息对象（路径，参数）
//from：从哪里来，从哪来的完整路由信息对象（路径，参数）
//next（）：是否放行
//1、next（） 直接放行，放到to要去的路径
//2、next（路径） 进行拦截，拦截到next里面配置的路径

//权限页面
const authUrls = ['/home','/home/workspace','/home/userInfo','/home/user','/home/storeInfo','/home/addUser'
                    ,'/home/category','/home/order','/home/product','/home/statistic','/home/store','/home/inventory',
                    '/home/addProduct','/home/addCategory','/home/addInventory','/home/purchase','/home/order/miniProgramsOrder',
                    '/home/order/offlineOrders','/home/orderDetail','/home/vip']
// const authUrls = routes

router.beforeEach((to,from,next)=>{
    NProgress.start()
    // console.log(to.path)
    // console.log(to,from,next)
    //看to.path是否在authUrls中出现过
    if(!authUrls.includes(to.path)){
        //非权限页面，直接放行
        next()
        return 
    }

    //是权限页面，需要判断token
    const token = store.getters.token
    // console.log(token)
    if(token){
        next()
    }else{
        next('/')
    }
})

router.afterEach(() => {
    NProgress.done()
  })
// export default router